package com.ruoyi.internet.domain;

import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 原材料采购对象 int_material
 *
 * @author cjie
 * @date 2021-08-16
 */
@Data
@ApiModel
public class IntMaterial extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** Id */
    @ApiModelProperty(value = "Id")
    private String id;

    /** 标题 */
    @Excel(name = "标题")
    @ApiModelProperty(value = "标题")
    private String title;

    /** 大类 */
    @Excel(name = "大类")
    @ApiModelProperty(value = "大类")
    private String bigCategory;

    /** 小类 */
    @Excel(name = "小类")
    @ApiModelProperty(value = "小类")
    private String smallCategory;

    /** 品种 */
    @Excel(name = "品种")
    @ApiModelProperty(value = "品种")
    private String variety;

    /** 等级 */
    @Excel(name = "等级")
    @ApiModelProperty(value = "等级")
    private String grade;

    /** 产地 */
    @Excel(name = "产地")
    @ApiModelProperty(value = "产地")
    private String producingArea;

    /** 库存地 */
    @Excel(name = "库存地")
    @ApiModelProperty(value = "库存地")
    private String inventoryPlace;

    /** 可交易总量(吨) */
    @Excel(name = "可交易总量(吨)")
    @ApiModelProperty(value = "可交易总量(吨)")
    private BigDecimal tradableTotal;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    /** 年份 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "年份", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "年份")
    private Date yearDate;

    /** 价格类型 */
    @Excel(name = "价格类型")
    @ApiModelProperty(value = "价格类型")
    private String priceType;

    /** 含税(1含,0不含) */
    @Excel(name = "含税(1含,0不含)")
    @ApiModelProperty(value = "含税(1含,0不含)")
    private String taxIncluded;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty(value = "联系人")
    private String linkMan;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    private String phone;

    /** 发布失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "发布失效日期")
    private Date expirationDate;

    /** 是否有质量保证(1是,0否) */
    @Excel(name = "是否有质量保证(1是,0否)")
    @ApiModelProperty(value = "是否有质量保证(1是,0否)")
    private String qualityAssurance;

    /** 质量保障图 */
    @JsonIgnore
    @Excel(name = "质量保障图")
    @ApiModelProperty(value = "质量保障图",hidden = true)
    private String qualityPic;

    /** 商品图 */
    @JsonIgnore
    @Excel(name = "商品图")
    @ApiModelProperty(value = "商品图",hidden = true)
    private String goodsPic;

    /** 发布商Id */
    @Excel(name = "发布商Id")
    @ApiModelProperty(value = "发布商Id")
    private Long expirationUserId;

    /** 删除标志(0正常 1删除) */
    @ApiModelProperty(value = "删除标志(0正常 1删除)")
    private String delFlag;

    /** 状态 */
    @ApiModelProperty(value = "状态")
    private String state;

    /** 原因 */
    @Excel(name = "原因")
    @ApiModelProperty(value = "原因")
    private String reason;

    //以下属性为页面视图属性
    /** 发布商名称 */
    @Excel(name = "发布商名称")
    @ApiModelProperty(value = "发布商名称")
    private String expirationName;

    /** 用户类型(0普通,1企业,2个人) */
    @Excel(name = "用户类型(0普通,1企业,2个人)")
    @ApiModelProperty(value = "用户类型(0普通,1企业,2个人)")
    private String type;

    /** 质量保障图集合 */
    @Excel(name = "质量保障图集合")
    @ApiModelProperty(value = "质量保障图集合")
    private JSONArray qualityPicArray;

    /** 商品图图集合 */
    @Excel(name = "商品图集合")
    @ApiModelProperty(value = "商品图集合")
    private JSONArray goodsPicArray;

    /** 审核状态集合 */
    @Excel(name = "审核状态集合")
    @ApiModelProperty(value = "审核状态集合")
    private List<String> stateList;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开始日期")
    private String beginDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "结束日期")
    private String endDate;
}
